package com.java.simple.study.jvm.memstruct.methodarea;

import java.util.ArrayList;
import java.util.List;

/**
 * @author zhoujunlin
 * @date 2021/12/12
 * @desc 制造堆内存溢出证明JDK8串池位于堆中
 * java.lang.OutOfMemoryError: GC overhead limit exceeded : 官网解释 有个开关，打开时，当发现花费98%时间只能回收不到2%内存时，就不回收了
 * 关闭开关：-XX:-UseGCOverheadLimit
 * -Xmx10m -XX:-UseGCOverheadLimit
 * java.lang.OutOfMemoryError: Java heap space
 **/
public class Demo3_3 {

    public static void main(String[] args) {
        List<String> result = new ArrayList<>();
        int j = 0;
        try{
            for (int i = 0; i < 260000; i++, j++) {
                result.add(String.valueOf(i).intern());
            }
        }catch (Throwable t){
            t.printStackTrace();
        }finally {
            System.out.println(j);
        }
    }
}
